import {
    combineReducers,
} from 'redux';

import {
    uiReducer,
    UI,
} from './ui/reducer';

import {
    modelReducer,
    Model,
} from './model/reducer';

import {
    fetchReducer,
} from './middleware/fetchpromise';

export const reducer = combineReducers({
    ui: uiReducer,
    model: modelReducer,
    fetch: fetchReducer,
});

export interface StoreState {
    ui: UI;
    model: Model;
    fetch: any;
}